///*
// * Copyright 2019-2021 the original author or authors.
// *
// * Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// *
// *      https://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */
//
//package com.example.demo.utils;
//
//import com.mysql.cj.conf.url.*;
//import com.mysql.cj.exceptions.*;
//import com.mysql.cj.jdbc.Driver;
//import com.mysql.cj.jdbc.ha.NdbLoadBalanceExceptionChecker;
//import com.mysql.cj.jdbc.ha.StandardLoadBalanceExceptionChecker;
//import com.mysql.cj.log.StandardLogger;
//import com.mysql.cj.protocol.NamedPipeSocketFactory;
//import com.mysql.cj.protocol.SocksProxySocketFactory;
//import com.mysql.cj.protocol.StandardSocketFactory;
//import org.springframework.nativex.hint.NativeHint;
//import org.springframework.nativex.hint.ResourceHint;
//import org.springframework.nativex.hint.TypeHint;
//import org.springframework.nativex.type.NativeConfiguration;
//
//@NativeHint(trigger = Driver.class, options = "--enable-all-security-services", types = {
//		@TypeHint(types = {
//				FailoverConnectionUrl.class,
//				FailoverDnsSrvConnectionUrl.class,
//				LoadBalanceConnectionUrl.class,
//				LoadBalanceDnsSrvConnectionUrl.class,
//				ReplicationConnectionUrl.class,
//				ReplicationDnsSrvConnectionUrl.class,
//				SingleConnectionUrl.class,
//				XDevApiConnectionUrl.class,
//				XDevApiDnsSrvConnectionUrl.class,
//				AssertionFailedException.class,
//				CJCommunicationsException.class,
//				CJConnectionFeatureNotAvailableException.class,
//				CJException.class,
//				CJOperationNotSupportedException.class,
//				CJPacketTooBigException.class,
//				CJTimeoutException.class,
//				ClosedOnExpiredPasswordException.class,
//				ConnectionIsClosedException.class,
//				DataConversionException.class,
//				DataReadException.class,
//				DataTruncationException.class,
//				FeatureNotAvailableException.class,
//				InvalidConnectionAttributeException.class,
//				OperationCancelledException.class,
//				PasswordExpiredException.class,
//				PropertyNotModifiableException.class,
//				RSAException.class,
//				SSLParamsException.class,
//				StatementIsClosedException.class,
//				UnableToConnectException.class,
//				UnsupportedConnectionStringException.class,
//				WrongArgumentException.class,
//				NamedPipeSocketFactory.class,
//				SocksProxySocketFactory.class,
//				StandardSocketFactory.class
//		}),
//		@TypeHint(types= {
//				DeadlockTimeoutRollbackMarker.class,
//				NumberOutOfRange.class,
//				StreamingNotifiable.class,
//				Driver.class,
//				NdbLoadBalanceExceptionChecker.class,
//				StandardLoadBalanceExceptionChecker.class,
//				StandardLogger.class,
//				}
//		),
//}, resources = {
//		@ResourceHint(patterns = "com/mysql/cj/TlsSettings.properties"),
//		@ResourceHint(isBundle = true, patterns = "com.mysql.cj.LocalizedErrorMessages")
//})
//public class MySqlHints implements NativeConfiguration {
//}
